﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace ExtraOpdrachten
{
    public partial class Opdracht9 : System.Web.UI.Page
    {
        double[] cijfers = new double[5];
        int positie = 0;
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
                ViewState.Add("cijfers", cijfers);
                ViewState.Add("positie", positie);
            }
            else
            {
                cijfers = (double[])ViewState["cijfers"];
                positie = (int)ViewState["positie"];
            }
        }

        protected void btnToevoegen_Click(object sender, EventArgs e)
        {
            double invoer = 0;
            if(!double.TryParse(txtInvoer.Text , out invoer))
            {
                lblFoutmelding.Text = "Ongeldige invoer.";
                txtInvoer.Text = "";
                txtInvoer.Focus();
                return;
            }
            else
            {
                if (invoer < 1)
                {
                    lblFoutmelding.Text = "Het laagste cijfer is 1";
                    txtInvoer.Text = "";
                    txtInvoer.Focus();
                    return;
                }
                else
                {
                    lblFoutmelding.Text = string.Empty;
                    cijfers[positie] = invoer;
                    if (positie >= 4)
                    {
                        ToonGemiddelde();
                        btnToevoegen.Enabled = false;
                    }
                    else
                    {
                        positie++;
                        ViewState["cijfers"] = cijfers;
                        ViewState["positie"] = positie;
                        txtInvoer.Text = "";
                        txtInvoer.Focus();
                    }
                }
            }
        }

        private void ToonGemiddelde()
        {
            double som = 0;
            int aantal = 0;
            for (int i = 0; i <cijfers.Length; i++)
            {
                if (cijfers[i] >= 1)
                {
                    som += cijfers[i];
                    aantal++;
                }
            }
            lblGemiddelde.Text = string.Format("Het gemiddelde is: {0:n2}", som / aantal);
        }

        protected void btnToonGemiddelde_Click(object sender, EventArgs e)
        {
            ToonGemiddelde();
        }

        protected void btnWisAlles_Click(object sender, EventArgs e)
        {
            cijfers = new double[5];
            positie = 0;
            lblGemiddelde.Text = string.Empty;
            lblFoutmelding.Text = string.Empty;
            btnToevoegen.Enabled = true;
            ViewState["cijfers"] = cijfers;
            ViewState["positie"] = positie;
            txtInvoer.Text = "";
            txtInvoer.Focus();
        }
    }
}